package cn.qq.xiangmu.entity;

public class Master {
    //编写代码的时候必须保证Pet类中至少要有对应的eat方法
    public  void feed(Pet pet){
        pet.eat();
    }
    //领养宠物
    public Pet adopt(String typeId){
        Pet pet=null;
        switch (typeId){
            case "1":
                pet=new Dog();
                break;
            case "2":
                pet=new Penguin();
                break;

        }
        return pet;
    }
    //玩耍(我们为了多态，就采用父类声明，但是他无法访问子类独有的方法）
    public  void  play(Pet pet){
        //强转之前要判断
        if(pet instanceof Dog){
            Dog dog=(Dog) pet;
            dog.catchingFlyDisc();
        }
        if (pet instanceof Penguin){
            Penguin penguin=(Penguin) pet;
            penguin.swimming();
        }

    }
}
